<?php
	require_once("frmCookie.php");
	
	$iOpcion = $_GET['iOpcion'];
	$focus = "codigo";
	
	if($_REQUEST['idFalla']!='')
	{
		//Cargo los datos
		
		$id = $_REQUEST['idFalla'];
		$mySQL = "Select * from fallas where idfalla = $id";
		$fallas = readSQL($mySQL);
		$mySQL = "Select p.idProducto, p.nombre from productosxfalla pxs join productos p on pxs.idProducto = p.idProducto where idFalla = $id group by p.idProducto order by p.nombre";
		$productosxfalla = readSQL($mySQL);
		foreach($fallas as $falla)
		{
			$nombre = $falla['nombre'];
			$codigo = $falla['codigo'];
		}
		foreach($productosxfalla as $productoxFalla)
		{
			$idProducto = $productoxFalla['idProducto'];
			array_push($arrayProductos, $idProducto);
		}
	}
	
	$arrayProductos = array();
	
	switch($iOpcion)
	{
		case 2:
		{
			//Agrega
			$nombre = $_POST['nombre'];
			$codigo = $_POST['codigo'];
			$productos = strtok($_POST['productos'], "||");
			while($productos != false)
			{
				array_push($arrayProductos, $productos);
				$productos = strtok("||");
			}
			
			$mySQL = "Select * from fallas where codigo = '$codigo'";
			$fallas = readSQL($mySQL);
			$mySQL = "Select * from fallas where nombre = '$nombre'";
			$fallas2 = readSQL($mySQL);
			if(count($fallas)>0)
			{
				//Si ya existe el codigo
				$mensaje = "No se pudo agregar la Falla: $nombre porque el Código ya existe.";
				//Seteo el componente que va a adquirir foco
				$focus = "codigo";
				$clase = "error";
			}
			else if(count($fallas2)>0)
			{
				//Si ya existe el nombre
				$mensaje = "No se pudo agregar la Falla: $nombre porque la misma ya existe.";
				//Seteo el componente que va a adquirir foco
				$focus = "nombre";
				$clase = "error";
			}
			else
			{
				//Si no existe
				$mySQL = "Insert into fallas set nombre = '$nombre', codigo = '$codigo';";
				while(count($arrayProductos) != 0)
				{
					$mySQL .= "insert into productosxfalla set idproducto = ".array_pop($arrayProductos).", idfalla = (select LAST_INSERT_ID() from fallas limit 1);";
				}
				if(transactionSQL($mySQL,true))
				{
					$mensaje = "Se ha agregado la Falla: $nombre.";
					$clase = "ok";
					$nombre = '';
					$codigo = '';
					$id = '';
					$productosxfalla = array();
				}
				else
				{
					$mensaje = "No se pudo agregar la Falla: $nombre.";
					$clase = "error";
				}
			}
			break;
		}
		case 3:
		case 5:
		{
			//Lista
			$mySQL = "Select * from fallas order by nombre";
			$fallas = readSQL($mySQL);
			break;
		}
		case 4:
		{
			//Elimina
			$mySQL = "Delete from fallas where idfalla = $id;";
			$mySQL .= "Delete from productosxfalla where idfalla = $id;";
			$mySQL .= "Delete from fallasxmarca where idsintoma = $id;";
			if(transactionSQL($mySQL,true))
			{
				$mensaje = "Se ha eliminada la Falla: $nombre.";
				$clase = "ok";
			}
			else
			{
				$mensaje = "No se pudo eliminar la Falla: $nombre.";
				$clase = "error";
			}
			$mySQL = "Select * from fallas order by nombre";
			$fallas = readSQL($mySQL);
			break;
		}
		case 7:
		{
			//Modifica
			$nombre = $_POST['nombre'];
			$codigo = $_POST['codigo'];
			$productos = strtok($_POST['productos'], "||");
			while($productos != false)
			{
				array_push($arrayProductos, $productos);
				$productos = strtok("||");
			}
			
			$mySQL = "Select * from fallas where codigo = '$codigo' and idfalla <> $id";
			$fallas = readSQL($mySQL);
			
			$mySQL = "Select * from fallas where nombre = '$nombre' and idfalla <> $id";
			$fallas2 = readSQL($mySQL);
			
			if(count($fallas)>0)
			{
				//Si ya existe el codigo
				$mensaje = "No se pudo cambiar el código de la Falla al de: $codigo porque la misma ya existe.";
				$clase = "error";
				//Seteo el componente que va a adquirir foco
				$focus = "codigo";
				//Cambio el iOpcion para que vuelva a cargar el formulario y no se pierdan los datos
				$iOpcion = 6;
			}
			else if(count($fallas2)>0)
			{
				//Si ya existe el nombre 
				$mensaje = "No se pudo cambiar el nombre de la Falla al de: $nombre porque la misma ya existe.";
				$clase = "error";
				//Seteo el componente que va a adquirir foco
				$focus = "nombre";
				//Cambio el iOpcion para que vuelva a cargar el formulario y no se pierdan los datos
				$iOpcion = 6;
			}
			else
			{
				//Si no existe
				$mySQL = "Delete from productosxfalla where idFalla = $id;";
				$mySQL .= "Update fallas set nombre = '$nombre', codigo = '$codigo' where idFalla = $id;";
				while(count($arrayProductos) != 0)
				{
					$idProducto = array_pop($arrayProductos);
					$mySQL .= "insert into productosxfalla set idproducto = $idProducto, idFalla = $id;";
				}
				if(transactionSQL($mySQL,true))
				{
					$mensaje = "La Falla: $nombre ha sido modificada.";
					$clase = "ok";
				}
				else
				{
					$mensaje = "No se pudo modificar la Falla: $nombre.";
					$clase = "error";
					//Cambio el iOpcion para que vuelva a cargar el formulario y no se pierdan los datos
					$iOpcion = 6;
				}
			}
			$mySQL = "Select * from fallas order by nombre";
			$fallas = readSQL($mySQL);
			break;	
		}
	}
	
	//Si hubo error, pide los datos que estaban en la grilla
	if($clase == "error")
	{
		$mySQL = "Select p.idProducto, p.nombre from productos p where p.idProducto in (";
		while(count($arrayProductos) != 0)
		{
			$idProducto = array_pop($arrayProductos);
			if(count($arrayProductos) == 0)
			{
				$mySQL .= $idProducto;	
			}
			else
			{
				$mySQL .= $idProducto.", ";	
			}
		}
		$mySQL .= ") order by p.nombre";
		
		$productosxfalla = readSQL($mySQL);
	}
?>
<html>
	<head>
    	<?php
		require("frmHeader.php");
		?>
        <script language="javascript">
			function validar()
			{
				if (frm.codigo.value == "")
				{
					alert("Por favor ingrese el código.");
					frm.codigo.focus();
					return false;
				}
				if (frm.nombre.value == "")
				{
					alert("Por favor ingrese el nombre.");
					frm.nombre.focus();
					return false;
				}
				if (frm.grdProductos.options.length == 0)
				{
					alert("Por favor asocie al menos un Producto.");
					frm.producto.focus();
					return false;
				}
				for(i=0; i<frm.grdProductos.options.length; i++)
				{
					if(i==0)
					{
						frm.productos.value = frm.grdProductos.options[i].value;
					}
					else
					{
						frm.productos.value = frm.productos.value + "||" + frm.grdProductos.options[i].value;
					}
				}
				return true;
			}
			
			function addProducto()
			{
				if(frm.producto.value != '')
				{
					//Si hay algo seleccionado en el combo, pasa lo seleccionado del combo a la grilla
					var selectedIndex = frm.producto.selectedIndex;
					frm.grdProductos.options[frm.grdProductos.length] = new Option(frm.producto.options[selectedIndex].text, frm.producto.options[selectedIndex].value);
					frm.producto.options[selectedIndex] = null;
					
					//Deja seleccionado el siguiente elemento al que eliminó
					if(frm.producto.options.length > selectedIndex)
					{
					   frm.producto.selectedIndex = selectedIndex;
					}
					else
					{
						frm.producto.selectedIndex = frm.producto.options.length-1;
					}
					
					//ordena la grilla
					sortOptions(frm.grdProductos);
				}
			}
			
			function removeProducto()
			{
				if(frm.grdProductos.selectedIndex != -1)
				{
					//Si hay algo seleccionado en la grilla, pasa lo seleccionado de la grilla al combo
					var selectedIndex = frm.grdProductos.selectedIndex;
					frm.producto.options[frm.producto.length] = new Option(frm.grdProductos.options[selectedIndex].text, frm.grdProductos.options[selectedIndex].value);
					frm.grdProductos.options[selectedIndex] = null;
					
					//Deja seleccionado el siguiente elemento al que eliminó
					if(frm.grdProductos.options.length > selectedIndex)
					{
					   frm.grdProductos.selectedIndex = selectedIndex;
					}
					else
					{
						frm.grdProductos.selectedIndex = frm.grdProductos.options.length-1;
					}
					
					//ordena el combo
					sortOptions(frm.producto);
				}
			}
			
			function compareOptionText(a,b) 
			{
				return a.text!=b.text ? a.text<b.text ? -1 : 1 : 0;
		    }
			
			function sortOptions(list) 
			{
				var items = list.options.length;
      			var tmpArray = new Array(items);
      			for ( i=0; i<items; i++ )
      			tmpArray[i] = new
      			Option(list.options[i].text,list.options[i].value);
      			tmpArray.sort(compareOptionText);
      			for ( i=0; i<items; i++ )
      				list.options[i] = new Option(tmpArray[i].text,tmpArray[i].value);
      		}
		</script>
	</head>
	<body onLoad="<?php echo "frm.".$focus.".focus();";?>">
    	<table cellpadding="0" cellspacing="0" align="center" class="tablaPrincipal">
        	<tr>
            	<td align="center">
                	<?php
					require("frmSession.php");
					switch ($iOpcion)
					{
						case 1:
						case 2:
						{
							if (!(in_array(4011, $_SESSION[permisos])))
							{
							?>
							  <script language="JavaScript" type="text/javascript">
							  	window.location.href = "sinPermisos.php"
							  </script>
							<?php
							}
							$titulo = "Nueva Falla";
							break;
						}
						case 3:
						case 4:
						{
							if (!(in_array(4012, $_SESSION[permisos])))
							{
							?>
							  <script language="JavaScript" type="text/javascript">
							  	window.location.href = "sinPermisos.php"
							  </script>
							<?php
							}
							$titulo = "Eliminar Falla";
							break;
						}
						case 5:
						case 6:
						case 7:
						{
							if (!(in_array(4013, $_SESSION[permisos])))
							{
							?>
							  <script language="JavaScript" type="text/javascript">
							  	window.location.href = "sinPermisos.php"
							  </script>
							<?php
							}
							$titulo = "Modificar Falla";
							break;
						}
					}
					
					?>
                </td>
            </tr>
            <tr>
            	<td align="center">
                	<?php
					require("frmTitulo.php");
					?>
                </td>
            </tr>
            <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
            	<td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="menuPrincipal">
                    	<tr>
                        	<td>
								<?php
                                require("frmMenu.php");
                                ?>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="tituloPantalla">
                    	<tr>
                        	<td align="center">
                            	<p class="texto" align="left"><?php echo $titulo; ?></p>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
             <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <?php
			if($mensaje != '')
			{
			?>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="estadoPantalla">
                    	<tr>
                        	<td align="center">
                            	<p class="<?php echo $clase; ?>" align="left"><?php echo $mensaje; ?></p>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <?php
			}
			?>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="contenedorPrincipal">
                    	<tr>
                        	<td>
                            	<form name="frm" method="post" onSubmit="return validar();" action="fallas.php?iOpcion=<?php
								switch($iOpcion)
								{
									case 1:
									case 2:
									{
										echo "2";
										break;
									}
									case 6:
									{
										echo "7";
										break;	
									}
								}
								?>">
                                <table width="300">
                                <?php
								switch($iOpcion)
								{
									case 1:
									case 2:
									case 6:
									{
									?>
                                        <tr>
                                            <td width="100">*Código:</td>
                                            <td width="200"><input style="width:100%;" type="text" name="codigo" size="30" maxlength="100" value="<?php echo stripslashes($codigo); ?>"/></td>
                                        </tr>
                                        <tr>
                                            <td>*Nombre:</td>
                                            <td><input style="width:100%;" type="text" name="nombre" size="30" maxlength="100" value="<?php echo stripslashes($nombre); ?>"/></td>
                                        </tr>
                                        <tr>
                                        	<td>
                                            	*Productos:
                                            </td>
                                            <td align="right">
                                            	<select name="producto" style="width:100%;">
                                                	<?php
													$mySQL = "Select * from productos order by nombre";
													$productos = readSQL($mySQL);
													foreach($productos as $producto)
													{
														echo "<option value='".$producto['idProducto']."'>".$producto['nombre']."</option>";
													}
													?>
                                                </select>
                                            </td>
                                            <td>
                                            	<img src="images/mas.png" title="Agregar" class="imagen" onClick="addProducto();" onMouseOver="this.className='flyOver';" onMouseOut="this.className='flyOut';">
                                            </td>
                                        </tr>
                                        <tr>
                                        	<td colspan="2">
                                            	<select name="grdProductos" size="5" style="width:100%;">
                                                <?php
													foreach($productosxfalla as $productoxFalla)
													{
														echo "<option value='".$productoxFalla['idProducto']."'>".$productoxFalla['nombre']."</option>";
													}
												?>
                                                <script language="javascript">
												//Saca del combo lo que está en la grilla
												var i=0;
												var j=0;
												for(i=0; i<frm.grdProductos.options.length; i++)
												{
													for(j=0; j<frm.producto.options.length;j++)
													{
														if(frm.grdProductos.options[i].value == frm.producto.options[j].value)
														{
															frm.producto.options[j] = null;	
														}
													}
												}
												</script>
                                                </select>
                                            </td>
                                            <td valign="top">
                                            	<img src="images/menos.png" title="Quitar" class="imagen" onClick="removeProducto();" onMouseOver="this.className='flyOver';" onMouseOut="this.className='flyOut';">
                                            </td>
                                        </tr>
                                        <tr>
                                            <td colspan="2" align="center" style="padding-top:10px;">
                                                <input   type="submit" name="btnGuardar" value="Guardar"/>
                                                <input   type="button" name="btnCerrar" value="Cerrar" onClick="window.top.location='<?php
                                                switch($iOpcion)
												{
													case 1:
													case 2:
													case 3:
													case 5:
													{
														echo "main.php";
														break;	
													}
													case 6:
													{
														echo "fallas.php?iOpcion=5";
														break;	
													}
													case 4:
													{
														echo "fallas.php?iOpcion=3";
														break;	
													}
												}?>';"/>
                                            </td>    
                                        </tr>
                                    <?php
										break;
									}
									case 3:
									case 4:
									case 5:
									case 7:
									{
									?>
                                        <tr>
                                            <th class="listaHead" colspan="2">
                                                Falla
                                            </th>
                                        </tr>
                                        <?php
										$i=1;
                                        foreach($fallas as $falla)
                                        {
											if($i%2==0){$row='par';}else{$row='impar';}
											echo "<tr class='$row'>";
												echo "<td>";
													echo $falla['nombre'];
												echo "</td>";
												echo "<td width='1%'>";
												switch($iOpcion)
												{
													case 3:
													case 4:
													{
												?>
														<a href="fallas.php?iOpcion=4&idFalla=<?php echo $falla['idFalla'];?>" onClick="return confirm('Esta seguro que desea eliminar la Falla: <?php echo " ".str_replace("'","",$falla['nombre']);?>?');"><img class="imagen" src="images/eliminar.png" alt="Eliminar" title="Eliminar">
			  											</a>
                                                <?php
														break;
													}
													case 5:
													case 6:
													case 7:
													{
													?>
                                                    	<a href="fallas.php?iOpcion=6&idFalla=<?php echo $falla['idFalla'];?>"><img class="imagen" src="images/modificar.png" alt="Modificar" title="Modificar">
			  											</a>
                                                    <?php
													}
												}
												echo "</td>";
											echo "</tr>";
											$i++;
                                        }
										?>
                                        <tr>
                                        	<td colspan="2" align="center" style="padding-top:10px;">
                                        		<input   type="button" name="btnCerrar" value="Cerrar" onClick="window.top.location='main.php';"/>
                                            </td>
                                        </tr>
                                        <?php
										break;
									}
								}
									?>
                                </table>
                                <input type="hidden" name="idFalla" value="<?php echo $id?>"/>
                                <input type="hidden" name="productos"/>
                                </form>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
	</body>
</html>